<?php


class ImageHelper {
	
	public static function image2jpg($img_src, $img_dst, $h, $w, $keep_ratio = true){
		ini_set('memory_limit', '100M');
		@unlink($img_dst);
		
		list($w_src, $h_src, $type) = getimagesize($img_src);  // create new dimensions, keeping aspect ratio
		
		if($keep_ratio){
			$ratio = $w_src/$h_src;
			if ($w/$h > $ratio) {
				$w = floor($h*$ratio);
			} else {
				$h = floor($w/$ratio);
			}
		}
		
		switch ($type)
		{case 1:   //   gif -> jpg
			$img = imagecreatefromgif($img_src);
			break;
		case 2:   //   jpeg -> jpg
			$img = imagecreatefromjpeg($img_src);
			break;
		case 3:  //   png -> jpg
			$img = imagecreatefrompng($img_src);
			break;
		default:
			return false;
			break;
		}
		
		$img_frame = imagecreatetruecolor($w, $h);  //  resample
		imagecopyresampled($img_frame, $img, 0, 0, 0, 0, $w, $h, $w_src, $h_src);
		imagejpeg($img_frame, $img_dst);    //  save new image

		imagedestroy($img);
		imagedestroy($img_frame);
		
		return true;
	}
	
}

?>